home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / FLI106C.ZIP;1 / BLCHDOWN.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-12  |  1.1 KB  |  59 lines

  1. //
  2. // The Fusion Library Interface for DOS
  3. // Version 1.06c
  4. // Copyright (C) 1990, 1991, 1992
  5. // Software Dimensions
  6. //
  7. // BlazeClass
  8. //
  9.  
  10. #ifndef __BCPLUSPLUS__
  11. #pragma inline
  12. #endif
  13.  
  14. #include "fli.h"
  15.  
  16. #ifdef __BCPLUSPLUS__
  17. #pragma hdrstop
  18. #endif
  19.  
  20. #define I asm
  21.  
  22. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  23. //
  24. // CharacterRepeaterDown()
  25. //
  26. // Repeats a certain character downward in a straight line
  27. //
  28. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  29.  
  30. void BlazeClass::CharacterRepeaterDown(int X,int Y,int Height,
  31.   int Color,int Character)
  32. {
  33.   if (Height<1 || X>=WinWide || Y>=WinHigh)
  34.     return;
  35.  
  36.   int ScreenWidth = BlazeClass::QuickWidth;
  37.   int Locator = ((WinY+Y)*ScreenWidth)+((WinX+X)*2);
  38.  
  39.   if (Y+Height>=WinHigh)
  40.     Height=WinHigh-Y;
  41.  
  42.   void far *OUTPUT=BlazeClass::OUTPUT;
  43.   I les di,OUTPUT
  44.   I add di,Locator
  45.  
  46.   ScreenWidth-=2;
  47.  
  48.   I cld
  49.   I mov al,byte ptr Character
  50.   I mov ah,byte ptr Color
  51.   I mov cx,Height
  52.  
  53. again:
  54.  
  55.   I stosw
  56.   I add di,ScreenWidth
  57.   I loop again
  58. }
  59.